using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class SolicitudRequisicionDao 
    { 
        private SqlConnection cn; 
        public SolicitudRequisicionDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(SolicitudRequisicion obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO solicitud_requisicion " + 
           "(numeroSolicitudRequisicion,idDepartamento,fechaPedido,fechaEntrega,estado,idGenerador,prioridad,tipo_solicitud) VALUES" + 
           "(@numeroSolicitudRequisicion,@idDepartamento,@fechaPedido,@fechaEntrega,@estado,@idGenerador,@prioridad,@tipo_solicitud)", this.cn); 

command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@idDepartamento", obj.idDepartamento)); 
command.Parameters.Add(new SqlParameter("@fechaPedido", obj.fechaPedido)); 
command.Parameters.Add(new SqlParameter("@fechaEntrega", obj.fechaEntrega)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@idGenerador", obj.idGenerador)); 
command.Parameters.Add(new SqlParameter("@prioridad", obj.prioridad)); 
command.Parameters.Add(new SqlParameter("@tipo_solicitud", obj.tipo_solicitud)); 
command.ExecuteNonQuery(); 
} 
  		public void update(SolicitudRequisicion obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE SolicitudRequisicion " + 
			" SET " + 
"idDepartamento=@idDepartamento" + 
",fechaPedido=@fechaPedido" + 
",fechaEntrega=@fechaEntrega" + 
",estado=@estado" + 
",idGenerador=@idGenerador" + 
",prioridad=@prioridad" + 
",tipo_solicitud=@tipo_solicitud" + 
 " WHERE " + 
"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.Parameters.Add(new SqlParameter("@idDepartamento", obj.idDepartamento)); 
command.Parameters.Add(new SqlParameter("@fechaPedido", obj.fechaPedido)); 
command.Parameters.Add(new SqlParameter("@fechaEntrega", obj.fechaEntrega)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@idGenerador", obj.idGenerador)); 
command.Parameters.Add(new SqlParameter("@prioridad", obj.prioridad)); 
command.Parameters.Add(new SqlParameter("@tipo_solicitud", obj.tipo_solicitud)); 
command.ExecuteNonQuery(); 
} 
       public void delete(SolicitudRequisicion obj){ 
SqlCommand command = new SqlCommand("DELETE FROM solicitud_requisicion WHERE "  
 +"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 
command.ExecuteNonQuery(); 
} 
        public SolicitudRequisicion get(SolicitudRequisicion obj) 
{ 
   SolicitudRequisicion record = null; 
    SqlCommand command = new SqlCommand("SELECT numeroSolicitudRequisicion,idDepartamento,fechaPedido,fechaEntrega,estado,idGenerador,prioridad,tipo_solicitud FROM solicitud_requisicion where " 
 +"numeroSolicitudRequisicion=@numeroSolicitudRequisicion" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@numeroSolicitudRequisicion", obj.numeroSolicitudRequisicion)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new SolicitudRequisicion(); 
if (dr["numeroSolicitudRequisicion"] == DBNull.Value) { record.numeroSolicitudRequisicion = SqlString.Null; } else { record.numeroSolicitudRequisicion = (String)dr["numeroSolicitudRequisicion"]; } 
if (dr["idDepartamento"] == DBNull.Value) { record.idDepartamento = SqlInt32.Null; } else { record.idDepartamento = (Int32)dr["idDepartamento"]; } 
if (dr["fechaPedido"] == DBNull.Value) { record.fechaPedido = SqlDateTime.Null; } else { record.fechaPedido = (DateTime)dr["fechaPedido"]; } 
if (dr["fechaEntrega"] == DBNull.Value) { record.fechaEntrega = SqlDateTime.Null; } else { record.fechaEntrega = (DateTime)dr["fechaEntrega"]; } 
if (dr["estado"] == DBNull.Value) { record.estado = SqlInt32.Null; } else { record.estado = (Int32)dr["estado"]; } 
if (dr["idGenerador"] == DBNull.Value) { record.idGenerador = SqlInt32.Null; } else { record.idGenerador = (Int32)dr["idGenerador"]; } 
if (dr["prioridad"] == DBNull.Value) { record.prioridad = SqlInt32.Null; } else { record.prioridad = (Int32)dr["prioridad"]; } 
if (dr["tipo_solicitud"] == DBNull.Value) { record.tipo_solicitud = SqlInt32.Null; } else { record.tipo_solicitud = (Int32)dr["tipo_solicitud"]; } 
this.cn.Close(); 
return record; 
} 
     public List<SolicitudRequisicion> getList() 
{ 
   List<SolicitudRequisicion> list = new List<SolicitudRequisicion>(); 
    SqlCommand command = new SqlCommand("SELECT numeroSolicitudRequisicion,idDepartamento,fechaPedido,fechaEntrega,estado,idGenerador,prioridad,tipo_solicitud FROM solicitud_requisicion", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
SolicitudRequisicion obj = new SolicitudRequisicion(); 
if (dr["numeroSolicitudRequisicion"] == DBNull.Value) { obj.numeroSolicitudRequisicion = SqlString.Null; } else { obj.numeroSolicitudRequisicion = (String)dr["numeroSolicitudRequisicion"]; } 
if (dr["idDepartamento"] == DBNull.Value) { obj.idDepartamento = SqlInt32.Null; } else { obj.idDepartamento = (Int32)dr["idDepartamento"]; } 
if (dr["fechaPedido"] == DBNull.Value) { obj.fechaPedido = SqlDateTime.Null; } else { obj.fechaPedido = (DateTime)dr["fechaPedido"]; } 
if (dr["fechaEntrega"] == DBNull.Value) { obj.fechaEntrega = SqlDateTime.Null; } else { obj.fechaEntrega = (DateTime)dr["fechaEntrega"]; } 
if (dr["estado"] == DBNull.Value) { obj.estado = SqlInt32.Null; } else { obj.estado = (Int32)dr["estado"]; } 
if (dr["idGenerador"] == DBNull.Value) { obj.idGenerador = SqlInt32.Null; } else { obj.idGenerador = (Int32)dr["idGenerador"]; } 
if (dr["prioridad"] == DBNull.Value) { obj.prioridad = SqlInt32.Null; } else { obj.prioridad = (Int32)dr["prioridad"]; } 
if (dr["tipo_solicitud"] == DBNull.Value) { obj.tipo_solicitud = SqlInt32.Null; } else { obj.tipo_solicitud = (Int32)dr["tipo_solicitud"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
